package com.fungo.baselib.widget.dialog

import android.content.Context
import android.view.WindowManager
import androidx.appcompat.app.AlertDialog
import com.common.app.R

/**
 * 作者：sosou
 * <p>
 * 版本：1.0
 * <p>
 * 创建日期：2022/9/1
 * <p>
 * 描述：自定义中间体，继承AlertDialog，作为对话框基类,重写对话框的标题
 * <p>
 * 修订历史：
 */
open class MaterialDialog protected constructor(context: Context) : AlertDialog(context) {

    private var mDimAmount: Float = 0.5f

    open class Builder(context: Context) : AlertDialog.Builder(context, R.style.AlertDialog_Material)

    override fun show() {
        super.show()
        val window = window
        val params = window?.attributes
        window?.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
        // 背景阴影
        if (isSetDimBehind())
            params?.dimAmount = mDimAmount
        else
            params?.dimAmount = 0f
        window?.attributes = params
    }

    /**
     * 是否设置背景阴影
     */
    open fun isSetDimBehind(): Boolean = true

    /**
     * 设置背景阴影层度
     */
    open fun setDimAmount(dimAmount: Float) {
        this.mDimAmount = dimAmount
    }
}